//package com.sxbbc.plat.task;
//
//import com.sxbbc.common.core.service.IChickenCouponService;
//import com.sxbbc.common.core.service.system.mode.ModeService;
//import com.sxbbc.plat.service.FarmService;
//import com.sxbbc.plat.service.OrderTaskService;
//import org.apache.log4j.Logger;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//
//import java.text.ParseException;
//
///**
// * <p>
// * 农场定时器
// * </p>
// *
// * @author zhangq
// * @since 2020/4/23
// */
//@Component
//public class FarmTask {
//
//    /**
//     * CRON表达式    含义
//     * "0/5 * *  * * ? "		每5秒执行一次
//     * "0 0 12 * * ?"    		每天中午十二点触发
//     * "0 15 10 ? * *"    		每天早上10：15触发
//     * "0 15 10 * * ?"    		每天早上10：15触发
//     * "0 15 10 * * ? *"    	每天早上10：15触发
//     * "0 15 10 * * ? 2005"    	2005年的每天早上10：15触发
//     * "0 * 14 * * ?"    		每天从下午2点开始到2点59分每分钟一次触发
//     * "0 0/5 14 * * ?"    		每天从下午2点开始到2：55分结束每5分钟一次触发
//     * "0 0/5 14,18 * * ?"    	每天的下午2点至2：55和6点至6点55分两个时间段内每5分钟一次触发
//     * "0 0-5 14 * * ?"    		每天14:00至14:05每分钟一次触发
//     * "0 10,44 14 ? 3 WED"    	三月的每周三的14：10和14：44触发
//     * "0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10：15触发
//     */
//    @Autowired
//    private ModeService modeService;
//    @Autowired
//    private IChickenCouponService iChickenCouponService;
//
//    private static Logger log = Logger.getLogger(FarmTask.class);
//
//    /**
//     * 每天凌晨三点45分,农场订单 释放到期基金
//     * @throws ParseException
//     */
//    //@Scheduled(cron="0 15 0 * * ?")
//    //@Scheduled(cron="0 45 3 ? * * ")
//    @Scheduled(cron = "0/40 * *  * * ?")
//    public void handleReleaseFund()  {
//        log.info("--------------农场订单 释放到期基金 开始-------------------");
//        modeService.handleReleaseFund();
//        log.info("-------------------农场订单 释放到期基金 结束--------------------------");
//    }
//
//
//    /**
//     * 每天凌晨三点45分,农场订单 释放到期提鸡券
//     * @throws ParseException
//     */
//    //@Scheduled(cron="0 15 0 * * ?")
//    //@Scheduled(cron="0 45 3 ? * * ")
//    @Scheduled(cron = "0/45 * *  * * ?")
//    public void handleReleaseCoupon()  {
//        log.info("--------------农场订单 释放到期提鸡券 开始-------------------");
//        iChickenCouponService.handleReleaseCoupon();
//        log.info("-------------------农场订单 释放到期提鸡券 结束--------------------------");
//    }
//
//
//    /**
//     * 每天凌晨三点45分,根据分红记录生成基金明细和提鸡券
//     *
//     * @throws ParseException
//     */
////    @Scheduled(cron="0 15 0 * * ?")
//    @Scheduled(cron = "0/58 * *  * * ?")
//    public void farmBonusMode() {
//        log.info("--------------根据分红记录生成基金明细和提鸡券 开始-------------------");
//        modeService.farmBonusMode();
//        log.info("-------------------根据分红记录生成基金明细和提鸡券 结束--------------------------");
//    }
//
//    /**
//     * 每天凌晨三点45分,农场订单 释放提鸡券成待使用状态
//     * @throws ParseException
//     */
//    //@Scheduled(cron="0 15 0 * * ?")
//    //@Scheduled(cron="0 45 3 ? * * ")
//    @Scheduled(cron = "0/50 * *  * * ?")
//    public void handleFrozenCoupon() {
//        log.info("--------------农场订单 释放提鸡券成待使用状态 开始-------------------");
//        iChickenCouponService.handleFrozenCoupon();
//        log.info("-------------------农场订单 释放提鸡券成待使用状态 结束--------------------------");
//    }
//
//    /**
//     * 每天凌晨三点45分,变更提鸡券为已失效状态
//     *
//     * @throws ParseException
//     */
//    //@Scheduled(cron="0 15 0 * * ?")
//    @Scheduled(cron = "0/55 * *  * * ?")
//    public void handleInvalidCoupon() {
//        log.info("--------------农场订单 变更提鸡券为已失效状态 开始-------------------");
//        iChickenCouponService.handleInvalidCoupon();
//        log.info("-------------------农场订单 变更提鸡券为已失效状态 结束--------------------------");
//    }
//}
//
